package Ecu911_Negocio;

import Ecu911_Datos.UsuariosBaseDatos;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.net.SocketTimeoutException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Marcelo Montaño
 */
public class Usuarios {
    
    private String cedula;
    private String nombre;
    private String apellido;
    private String password;
    private boolean estado;

    public String getCodigo() {
        return cedula;
    }

    public void setCodigo(String cedula) {
        this.cedula = cedula;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellido() {
        return apellido;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
    
    public boolean getEstado(){
        return estado;
    }
    
    public void setEstado(boolean estado){
        this.estado = estado;
    }
    
    public ArrayList grabar() {
        ArrayList respuesta = new ArrayList();
        try {
            UsuariosBaseDatos usuarioDB = new UsuariosBaseDatos();
            respuesta.add("true");
            respuesta.add(usuarioDB.grabar(this));
//            JOptionPane.showConfirmDialog(null,"Información de usuario almacenada.",
//        "Crear nuevo usuario",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null);
        } catch (SQLException ex) {
            //Logger.getLogger(AspectosFormales.class.getName()).log(Level.SEVERE, null, ex);
//            JOptionPane.showConfirmDialog(null,"ERROR DE INFORMACION",
//              "ERROR DE CLAVE FORANEA",JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE,null);
            respuesta.add("false");
            respuesta.add("Error:\n" + ex.getMessage());
        }
        return respuesta;
    }

    public void modificar() {
        try {
        UsuariosBaseDatos usuarioDB = new UsuariosBaseDatos();
            usuarioDB.modificar(this);
            JOptionPane.showConfirmDialog(null,"Información de usuario editada.",
        "Editar datos usuario",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null);
        } catch (SQLException ex) {
            //Logger.getLogger(AspectosFormales.class.getName()).log(Level.SEVERE, null, ex);
             JOptionPane.showConfirmDialog(null,"ERROR DE INFORMACION",
              "ERROR DE CLAVE FORANEA",JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE,null);
        }
    }

    public void eliminar() {
        try {
        UsuariosBaseDatos usuarioDB = new UsuariosBaseDatos();
            usuarioDB.eliminar(this.cedula);
            JOptionPane.showConfirmDialog(null,"El usuario a sido eliminado.",
        "Eliminar datos usuario",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null);
        } catch (SQLException ex) {
            //Logger.getLogger(AspectosFormales.class.getName()).log(Level.SEVERE, null, ex);
             JOptionPane.showConfirmDialog(null,"ERROR DE INFORMACION",
              "ERROR DE CLAVE FORANEA",JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE,null);
        }
    }

    public void buscar() {
        try {
            Usuarios aux;
            UsuariosBaseDatos usuarioDB = new UsuariosBaseDatos();
            aux = usuarioDB.buscar(this.cedula);
            this.setNombre(aux.getNombre());
            this.setApellido(aux.getApellido());
            this.setPassword(aux.getPassword());
            this.setEstado(aux.getEstado());
        } catch (SQLException ex) {
            //Logger.getLogger(AspectosFormales.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showConfirmDialog(null,"INFORMACION NO ENCONTRADA",
                "ERROR",JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE,null);
        }
    }

   
}
    

